defaultSettingsMiddleware

fun defaultSettingsMiddleware(temperature: Float? = null, topP: Float? = null, topK: Int? = null, maxOutputTokens: Int? = null, stopSequences: List<String> = emptyList(), seed: Int? = null, tools: List<LanguageModelTool> = emptyList(), toolChoice: ToolChoice? = null, headers: Map<String, String> = emptyMap(), providerOptions: Map<String, JsonElement> = emptyMap(), presencePenalty: Float? = null, frequencyPenalty: Float? = null, responseFormat: ResponseFormat = ResponseFormat.Text): LanguageModelMiddleware

Applies default per-call settings to every model invocation. Explicitly provided params override defaults; provider option maps are merged.

Implemented via LanguageModelMiddleware.transformParams (the params-only seam), so the defaults apply uniformly to both generate and stream — matching v6's defaultSettingsMiddleware. Use cases:

  • app-wide temperature = 0.7, maxOutputTokens = 1000

  • default tools / toolChoice / headers

  • default providerOptions like { openai: { reasoningEffort: "high" } }